﻿using AI.Common;
using Microsoft.Extensions.AI;
using OpenAI;
using System.ClientModel;

namespace AI.Demo.ConsoleApp
{
    internal class Program
    {
        private static void Main(string[] args)
        {
            RunAsync().Wait();
        }

        private static async Task RunAsync()
        {
            try
            {
                ChatHelper chatHelper = new ChatHelper();
                string initPromot = @"
            你是一位友好的万事通，你可以回答各种问题，提供信息和建议。
            回答要求：
            1. 语言使用中文。
            2. 回答内容要简洁明了，避免冗长。
            3. 如果不确定答案，可以说“我不太确定，但我会尽力帮助你”。
            4. 避免使用专业术语，确保普通人也能理解。
            5. 如果问题涉及敏感内容，请礼貌地拒绝回答，并告诉原因。
            6. 如果用户询问你的身份，你可以说：“我是一个AI助手，旨在帮助你解答问题和提供信息。”，如果可以清提供模型信息和版本信息。
        ";
                chatHelper.SetPrompt(initPromot);
                // Loop to get user input and stream AI response
                while (true)
                {
                    // Get user prompt and add to chat history
                    Console.WriteLine("Your prompt:");
                    string? userPrompt = Console.ReadLine();
                    string msg = await chatHelper.SendPromptAndRecive(userPrompt);
                    Console.WriteLine();
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("程序执行出错：" + ex.Message);
                Console.WriteLine("按任意键退出...");
                Console.ReadKey();
            }
        }
    }
}